import 'package:gameplay_flutter/generated/json/base/json_field.dart';
import 'package:gameplay_flutter/generated/json/comment_entity.g.dart';
import 'dart:convert';
export 'package:gameplay_flutter/generated/json/comment_entity.g.dart';

@JsonSerializable()
class CommentEntity {
  late int dynamicId = 0;
  late int id = 0;
  late int fromUserGender = 0;
  dynamic toContent;
  late List<CommentContentInfoList> contentInfoList = [];
  dynamic contentRiskResult;
  late String atIndex = '';
  late int comments = 0;
  late int appType = 0;
  late String description = '';
  late int commentUsers = 0;
  dynamic toMicFrameUrl;
  dynamic toUserId;
  dynamic toUserHeadUrl;
  late String hotReplyInfo = '';
  late bool delFlag = false;
  late int memberLevel = 0;
  dynamic userRemark;
  dynamic fromMicFrameUrl;
  dynamic updateTime;
  late int likes = 0;
  late bool isLikes = false;
  late int fromUserId = 0;
  dynamic toUserGender;
  late List<CommentEntity> replyList = [];
  late bool toCommentDel = false;
  late int riskType = 0;
  late bool showMode = false;
  dynamic auditStatus;
  dynamic memberEmblem;
  dynamic toUserHeadFrameUrl;
  late String timeStr = '';
  late String content = '';
  late int visible = 0;
  late String fromUserHeadUrl = '';
  dynamic yundunResult;
  dynamic adminId;
  dynamic adminName;
  late String createTime = '';
  late int superCommentId = 0;
  late int weightScore = 0;
  late bool handleFlag = false;
  dynamic age;
  late int commentId = 0;
  dynamic fromUserMemberExp;
  late int isLike = 0;
  late int isReply = 0;
  late int replys = 0;
  late String fromUserNickname = '';
  late int commentType = 0;
  dynamic toUserNickname;
  dynamic fromUserHeadFrameUrl;

  CommentEntity();

  factory CommentEntity.fromJson(Map<String, dynamic> json) => $CommentEntityFromJson(json);

  Map<String, dynamic> toJson() => $CommentEntityToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class CommentContentInfoList {
  dynamic imId;
  dynamic userStatus;
  dynamic nickname;
  late int type = 0;
  dynamic userId;
  late String text = '';

  CommentContentInfoList();

  factory CommentContentInfoList.fromJson(Map<String, dynamic> json) => $CommentContentInfoListFromJson(json);

  Map<String, dynamic> toJson() => $CommentContentInfoListToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class CommentReplyList {
  late int dynamicId = 0;
  late int id = 0;
  late int fromUserGender = 0;
  late String toContent = '';
  late List<CommentReplyListContentInfoList> contentInfoList = [];
  dynamic contentRiskResult;
  late String atIndex = '';
  late int comments = 0;
  late int appType = 0;
  late String description = '';
  late int commentUsers = 0;
  dynamic toMicFrameUrl;
  late int toUserId = 0;
  dynamic toUserHeadUrl;
  late String hotReplyInfo = '';
  late bool delFlag = false;
  late int memberLevel = 0;
  dynamic userRemark;
  dynamic fromMicFrameUrl;
  dynamic updateTime;
  late int likes = 0;
  late int fromUserId = 0;
  dynamic toUserGender;
  dynamic replyList;
  late bool toCommentDel = false;
  late int riskType = 0;
  dynamic auditStatus;
  dynamic memberEmblem;
  dynamic toUserHeadFrameUrl;
  late String timeStr = '';
  late String content = '';
  late int visible = 0;
  late String fromUserHeadUrl = '';
  dynamic yundunResult;
  dynamic adminId;
  dynamic adminName;
  late String createTime = '';
  late int superCommentId = 0;
  late int weightScore = 0;
  late bool handleFlag = false;
  dynamic age;
  late int commentId = 0;
  dynamic fromUserMemberExp;
  late int isLike = 0;
  late int isReply = 0;
  dynamic replys;
  late String fromUserNickname = '';
  late int commentType = 0;
  dynamic toUserNickname;
  dynamic fromUserHeadFrameUrl;

  CommentReplyList();

  factory CommentReplyList.fromJson(Map<String, dynamic> json) => $CommentReplyListFromJson(json);

  Map<String, dynamic> toJson() => $CommentReplyListToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class CommentReplyListContentInfoList {
  dynamic imId;
  dynamic userStatus;
  dynamic nickname;
  late int type = 0;
  dynamic userId;
  late String text = '';

  CommentReplyListContentInfoList();

  factory CommentReplyListContentInfoList.fromJson(Map<String, dynamic> json) =>
      $CommentReplyListContentInfoListFromJson(json);

  Map<String, dynamic> toJson() => $CommentReplyListContentInfoListToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}
